Computer-based graphical user interfaces that facilitate the interaction of humans with computers have become commonplace. These interfaces often represent objects such as files or application programs with icons. Icons are small images or symbols that represent an object and that generally evoke the function or type of the object. The interfaces are displayed on computer controlled display devices such as cathode ray tubes (CRTs) or liquid crystal display (LCD) screens. The icons are manipulated by using pointing devices attached to the computer. The pointing device controls a small pointing icon on the graphical user interface (GUI) which can be overlaid on other object icons. By overlaying the pointing device icon on a particular object icon and performing some other action (such as button or key pressing), a computer can be instructed to perform an operation, generally on or with the object overlaid.
Graphical user interfaces (GUI) have been commonplace for many years and are available on most major computer products. One problem with the use of such interfaces is that the area available on the computer-controlled display device (computer screen) is limited and thus the interaction by the user with the computer can become constrained or inefficient. The user might not be able to display and interact with as many objects as he or she might wish or may become confused by the cluttered appearance of the screen. It is thus important, when using a GUI, to make optimal use of the space available on a computer screen.
Icons representing an object within a GUI are generally symbolic, pictorial rectangles of a common size. This facilitates the effective use of space and user recognition of the objects represented. To further optimize interaction with icons, users can often move the icons in a screen (or a segmented display area within a screen) to clarify the layout of the screen for the tasks at hand. Automated methods by which the computer lays out the icons are also available and are used to "clean up" the screen or display area.
When icons represent image objects within a GUI, it is helpful to use a very small version of the image itself as an icon rather than a standardized image of a symbol. These small image representations are also known as thumbnail images. The thumbnail image clearly represents the image content since it is simply a miniature version of the image. However, images are not consistent in size. Although some standards for image sizes and aspect ratios do exist, there is still a wide variety of image types, sizes and so on. Thus, the thumbnail representation of an image is apt to vary in both size (within limits) and aspect ratio. It is important, then, that a GUI which manipulates image objects represented by thumbnail icons be able to effectively deal with variably sized icons. This is clearly a problem as well for any other type of object that is represented by icons of different sizes and aspect ratios and, especially, for objects which may not be fundamentally rectangular or are irregular in shape.